package com.bwie.common.domain;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.NumberFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @className: ResourceInfo
 * @Description: TODO
 * @version: v1.８.0
 * @author: 汪菲阳
 * @date: 2025/11/10 9:55
 */
@Data
public class ResourceInfo {
    /**
     * 序号
     */
    private Integer id;
    /**
     * 题名
     */
    @NotBlank(message = "题名不能为空")
    @Excel(name = "题名")
    private String title;
    /**
     * 译名
     */
    @Excel(name = "题名译名")
    private String translatedName;
    /**
     * 印本ISSN
     */
    @Excel(name = "PISSN")
    private String pissn;
    /**
     * 电子ISSN
     */
    @Excel(name = "EISSN")
    private String eissn;
    /**
     * 印本isbn
     */
    @Excel(name = "PISBN")
    private String pisbn;
    /**
     * 电子isbn
     */
    @Excel(name = "EISBN")
    private String eisbn;
    /**
     * 订购号
     */
    private String orderNumber;
    /**
     * 出版社
     */
    private String publisher;
    /**
     * 出版年
     */
    private Integer pubYear;
    /**
     * 语种
     */
    private String language;
    /**
     * 文献类型
     */
    @NotNull(message = "文献类型不能为空")
    @Excel(name = "文献类型")
    private Integer typeId;
    /**
     * 作者
     */
    @Excel(name = "作者")
    private String author;
    /**
     * 载体
     */
    @NotBlank(message = "载体不能为空")
    @Excel(name = "载体")
    private String isotopicCarrier;
    /**
     * 学科
     */
    @NotBlank(message = "学科不能为空")
    @Excel(name = "学科")
    private String subject;
    /**
     * 国别
     */
    @Excel(name = "国别")
    private String country;
    /**
     * 出版状态
     */
    private String pubStatus;
    /**
     * 价格
     */
    private BigDecimal price;
    /**
     * 币种
     */
    private String currency;
    /**
     * 修改日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date updTime;
    /**
     * 修改人id
     */
    private Integer userId;
    /**
     * 是否生成订单（1 是 0 否） 恢复订购
     */
    private Integer orderStatus;
    /**
     * 数据来源(1新增荐购、2数据库收录品种)
     */
    private Integer inlet;
}
